//Declaración de variables de la brújula
CompassManager brujula;
float direccion;

//Declaración de variables del acelerómetro
AccelerometerManager acel;
float ax, ay, az;


void setup(){
   size(displayWidth,displayHeight,P3D);
   
   //Creación de fuente
   textFont(createFont("Georgia",displayWidth/30));
   textAlign(CENTER, CENTER);
   
   //Creación del objeto brújula
   brujula = new CompassManager(this);
   
   //Creación del objeto del acelerómetro
   acel = new AccelerometerManager(this);
}

void resume() {
  if (brujula != null) brujula.resume();
  if (acel != null) acel.resume();
}

public void pause() {
  if (acel != null) acel.pause();
}

void draw(){
  background(200,100,0);
  
  //Establece las propiedades de líneas
  stroke(255);
  strokeWeight(20);
  
  //Se mueve al centro y rota en la dirección de la brújula
  translate(width/2-(ax*10), height/2+(ay*10));
  rotate(direccion);
  
  //Dibuja el texto
  text("¡Hola Android, soy Processing!",0,0);
}

// ****************** EVENTOS ****************** //

//Captura la dirección de la brújula
void directionEvent(float newDirection) {
  direccion = newDirection;
}
//Captura los valores de aceleración
void acceleracionEvento(float x, float y, float z) {
  ax = x;
  ay = y;
  az = z;
  redraw();
}
